package com.cleaningcloud.cld.mapper;

import com.cleaningcloud.cld.domain.FinanceReportBI;
import com.cleaningcloud.cld.domain.HumanResourcesBI;
import com.cleaningcloud.cld.domain.vo.CldBiDataVo;

import java.util.List;
import java.util.Map;

/**
 * @Author Shaw
 * @Description 人资履约BI映射类
 * @date: 2025-03-06 16:34
 * @param: //TODO
 */
public interface HumanResourcesBIMapper {

    /**
     * @Author Shaw
     * @Description 项目岗位执勤占比图
     * @date: 2025-04-09 11:57
     * @param: //TODO
     */
    Map<String, Object> getProjectPostRate();

    /**
     * @Author Shaw
     * @Description 日工作计划完成占比图
     * @date: 2025-04-09 11:57
     * @param: //TODO
     */
    Map<String, Object> getSunWorkPlanSuccessRate(HumanResourcesBI humanResourcesBI);

    /**
     * @Author Shaw
     * @Description 专项工作计划完成占比图
     * @date: 2025-04-09 11:57
     * @param: //TODO
     */
    Map<String, Object> getSpecialWorkPlanSuccessRate();

    /**
     * @Author Shaw
     * @Description 投诉处置完成占比图
     * @date: 2025-04-09 11:57
     * @param: //TODO
     */
    Map<String, Object> getComplaintsSuccessRate(HumanResourcesBI humanResourcesBI);

    /**
     * @Author Shaw
     * @Description 培训计划完成占比图
     * @date: 2025-04-09 11:57
     * @param: //TODO
     */
    Map<String, Object> getTrainSuccessRate();

    /**
     * @Author Shaw
     * @Description 员工保险占比图
     * @date: 2025-04-09 11:57
     * @param: //TODO
     */
    Map<String, Object> getInsuranceRate();

    /**
     * @Author Shaw
     * @Description 按当月查询实际薪酬(日走势图)
     * @date: 2025-04-09 11:57
     * @param: //TODO
     */
    HumanResourcesBI getMonthSalary(HumanResourcesBI humanResourcesBI);

    /**
     * @Author Shaw
     * @Description 按当月查询实际薪酬(表格)
     * @date: 2025-04-09 11:57
     * @param: //TODO
     */
    HumanResourcesBI getMonthSalaryTable(HumanResourcesBI humanResourcesBI);

    /**
     * @Author Shaw
     * @Description 按项目查询薪酬明细
     * @date: 2025-04-09 11:57
     * @param: //TODO
     */
    List<HumanResourcesBI> getMonthSalaryDetailsByProject(HumanResourcesBI humanResourcesBI);

    /**
     * @Author Shaw
     * @Description 按性别年龄查询人员在岗
     * @date: 2025-04-09 11:57
     * @param: //TODO
     */
    Map<String,Object> getStaffBySexAge();

    /**
     * @Author Shaw
     * @Description 按管理类型查询管理者占比
     * @date: 2025-04-09 11:57
     * @param: //TODO
     */
    Map<String,Object> getStaffManagerRate();

    /**
     * @Author Shaw
     * @Description 按区域查询管理者职别
     * @date: 2025-04-09 11:57
     * @param: //TODO
     */
    List<HumanResourcesBI> getStaffManagerTable();

    /**
     * @Author Shaw
     * @Description 按项目查询项目员工状态人数
     * @date: 2025-04-09 11:57
     * @param: //TODO
     */
    List<HumanResourcesBI> getStaffStatusByProject();

    /**
     * @Author Shaw
     * @Description 按当月查询日计划完成情况(日走势图)
     * @date: 2025-04-09 11:57
     * @param: //TODO
     */
    HumanResourcesBI getMonthWorkPlan(HumanResourcesBI HumanResourcesBI);

    /**
     * @Author Shaw
     * @Description 按当月查询日计划完成情况(表格)
     * @date: 2025-04-09 11:57
     * @param: //TODO
     */
    List<HumanResourcesBI> getMonthWorkPlanTable(HumanResourcesBI humanResourcesBI);

    /**
     * @Author Shaw
     * @Description 按当月查询日客诉处置情况(日走势图)
     * @date: 2025-04-09 11:57
     * @param: //TODO
     */
    HumanResourcesBI getMonthComplaints(HumanResourcesBI HumanResourcesBI);

    /**
     * @Author Shaw
     * @Description 按当月查询日客诉处置情况(表格)
     * @date: 2025-04-09 11:57
     * @param: //TODO
     */
    List<HumanResourcesBI> getMonthComplaintsTable(HumanResourcesBI humanResourcesBI);

    /**
     * @Author Shaw
     * @Description 按培训类型查询当月培训完成占比
     * @date: 2025-04-09 11:57
     * @param: //TODO
     */
    Map<String,Object> getMonthTrainTypeRate(HumanResourcesBI humanResourcesBI);

    /**
     * @Author Shaw
     * @Description 按当月查询项目培训计划情况(表格)
     * @date: 2025-04-09 11:57
     * @param: //TODO
     */
    List<HumanResourcesBI> getMonthTrainPlanTable(HumanResourcesBI humanResourcesBI);

    /**
     * @Author Shaw
     * @Description 按保险在保期中查询保单情况占比
     * @date: 2025-04-09 11:57
     * @param: //TODO
     */
    Map<String,Object> getStaffInsuranceRate();

    /**
     * @Author Shaw
     * @Description 按当月查询日客诉处置情况(表格)
     * @date: 2025-04-09 11:57
     * @param: //TODO
     */
    List<HumanResourcesBI> getStaffInsuranceTable(HumanResourcesBI humanResourcesBI);

}
